package org.example.managere.dto.feibiao;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * 电机全维度运行监测数据表 DTO
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AmAapDataDto implements Serializable {
    private Integer id; // 自增主键

    @NotEmpty(message = "电机ID不能为空")
    @Size(max = 10, message = "电机ID长度不能超过10")
    private String motorId;

    @NotNull(message = "采集时间不能为空")
    private Date timestamp;

    @NotNull(message = "转速不能为空")
    private Float speed;

    @NotEmpty(message = "三相电压不能为空")
    private String voltagePhases;

    @NotEmpty(message = "三相电流不能为空")
    private String currentPhases;

    @NotEmpty(message = "温度数据不能为空")
    private String temperatureData;

    @NotEmpty(message = "振动数据不能为空")
    private String vibrationData;

    @NotEmpty(message = "振动频谱不能为空")
    private String vibrationSpectrum;

    @NotEmpty(message = "环境数据不能为空")
    private String ambientConditions;

    @NotEmpty(message = "性能指标不能为空")
    private String performanceMetrics;

    @NotEmpty(message = "历史状态不能为空")
    private String historicalStates;

    @NotEmpty(message = "维护历史不能为空")
    private String maintenanceHistory;
} 